// pages/goods/list/index.js
import {reqGoodsList, reqGoodsInfo} from "../../../api/goods"
 
Page({
  /**
   * 页面的初始数据
   */
  data: {
    goodsList: [], // 商品列表数据
    isFinish: false, // 判断数据是否加载完毕
    isLoading:false,//是否正在请求数据
    // 商品列表请求参数
    requestData:{
      page:1,// 页码
      limit:10,// 每页条数
      category1Id:'', //一级分类Id
      category2Id:'' // 二级分类id
    },
    total:0,
  },
  //获取商品列表数据
  async getGoodsList(){
    // 请求正在发送中
    this.data.isLoading = true
    const res = await reqGoodsList(this.data.requestData)
    this.data.isLoading = false
    this.setData({
      // goodsList:res.data.records,
      goodsList:[...this.data.goodsList,...res.data.records],//最新的数据合并
      total:res.data.total
    })
  
   
  },
  onLoad(options){
    const {category1Id} = options
    // console.log('商品列表onload',options)
    Object.assign(this.data.requestData,options)// 合并请求参数
    this.getGoodsList()
  },
  // 监听页面上拉加载
  onReachBottom(){
    // console.log("上拉加载")
    const {page} = this.data.requestData
    //如果请求中，则暂不请求
    if(this.data.isLoading) return
    // 如果数据加载完毕处理
    if(this.data.goodsList.length === this.data.total){
      this.setData({
        isFinish:true
      })
      // wx.toast({title:'没有更多数据了'})
      return
    }
    this.setData({
      requestData: {...this.data.requestData,page:page+1}
    })
    this.getGoodsList()
  },
  //下拉刷新
  onPullDownRefresh(){
    console.log('下拉刷新')
    // 数据重置
    this.setData({
      goodsList:[],
      total:0,
      isFinish:false,
      requestData:{
        ...this.data.requestData,
        page:1
      }
    })
    // 请求新的数据
    this.getGoodsList()
    // 关闭下拉刷新效果
    wx.stopPullDownRefresh()
  }

})
